package models

import (
	"activity_srv/basic/config"
	"gorm.io/gorm"
	"time"
)

type DistributionRunWater struct {
	Id                          uint64         `gorm:"column:id;type:bigint UNSIGNED;comment:分佣记录主键Id;primaryKey;not null;" json:"id"`                                                   // 分佣记录主键Id
	OrderSn                     string         `gorm:"column:order_sn;type:varchar(255);comment:订单号;not null;" json:"order_sn"`                                                          // 订单号
	OrderPrice                  float64        `gorm:"column:order_price;type:decimal(10, 2) UNSIGNED;comment:订单金额;not null;" json:"order_price"`                                        // 订单金额
	UserId                      uint64         `gorm:"column:user_id;type:bigint UNSIGNED;comment:用户Id;not null;" json:"user_id"`                                                        // 用户Id
	ToUserId                    uint64         `gorm:"column:to_user_id;type:bigint UNSIGNED;comment:获得佣金的用户Id;not null;" json:"to_user_id"`                                             // 获得佣金的用户Id
	Price                       float64        `gorm:"column:price;type:decimal(10, 2) UNSIGNED;comment:分销金额;not null;" json:"price"`                                                    // 分销金额
	WithdrawType                uint64         `gorm:"column:withdraw_type;type:bigint UNSIGNED;comment:提现方式 1支付宝  2 微信 3数字人名币 4银联;not null;" json:"withdraw_type"`                      // 提现方式 1支付宝  2 微信 3数字人名币 4银联
	WithdrawTypeProceduresPrice float64        `gorm:"column:withdraw_type_procedures_price;type:decimal(10, 2) UNSIGNED;comment:提现手续费;not null;" json:"withdraw_type_procedures_price"` // 提现手续费
	Source                      string         `gorm:"column:source;type:varchar(255);comment:来源;not null;" json:"source"`                                                               // 来源
	Level                       uint64         `gorm:"column:level;type:bigint UNSIGNED;comment:分销等级 1 一级用户 2 二级用户;not null;" json:"level"`                                              // 分销等级 1 一级用户 2 二级用户
	Status                      uint64         `gorm:"column:status;type:bigint UNSIGNED;comment:状态  1  审核中 2已通过  3已拒绝;not null;default:1;" json:"status"`                               // 状态  1  审核中 2已通过  3已拒绝
	CreatedAt                   time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`                         // 创建时间
	DeletedAt                   gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`                                                  // 删除时间
}

func (d *DistributionRunWater) TableName() string {
	return "distribution_run_water"
}

// 流水表查询
func (d *DistributionRunWater) DistributionRunWaterList(userId int64) (list []DistributionRunWater, err error) {
	config.DB.Where("user_id = ?", userId).Find(&list)
	return
}
